import { VNode } from "vue";
import { ButtonTheme } from "vue-bootstrap-plus/utils/enums";

export interface DialogButtonProps {
  close?: boolean;
  theme?: ButtonTheme;
  handler?: Function;
  text?: string;
  iconCls?: string;
  [key: string]: any;
}

export interface DialogOper {
  id: Number;
  setZIndex: Function;
}

export interface DialogProps {
  title?: String;
  content?: String | VNode;
  size?: "" | "sm" | "lg" | "xl";
  beforeClose?: (...args: any[]) => unknown;
  buttons?: DialogButtonProps[];
  static?: boolean;
  scrollable?: boolean;
  closable?: boolean;
  centered?: boolean;
  modelValue?: boolean;
  appendToBody?: boolean;
  fullscreen?: boolean;
  fullscreenSize?: "" | "sm" | "md" | "lg" | "xl" | "xxl";
  bodyIcon?: String;
}
